using System;
using System.ComponentModel.DataAnnotations;
using MESBaseis.Domain.BaseEntities;

namespace MESBaseis.Domain.XZY
{
    /// <summary>
    /// 通知公告实体
    /// </summary>
    public class AnnouncementModel : BaseModel
    {
        /// <summary>
        /// 公告内容
        /// </summary>
        [Required]
        [StringLength(500)]
        public string Content { get; set; } = string.Empty;

        /// <summary>
        /// 公告类型
        /// </summary>
        [Required]
        [StringLength(50)]
        public string Type { get; set; } = string.Empty;

        /// <summary>
        /// 优先级
        /// </summary>
        public int Priority { get; set; } = 0;

        /// <summary>
        /// 是否激活
        /// </summary>
        public bool IsActive { get; set; } = true;

        /// <summary>
        /// 发布时间
        /// </summary>
        public DateTime? PublishTime { get; set; }

        /// <summary>
        /// 过期时间
        /// </summary>
        public DateTime? ExpiryTime { get; set; }

        /// <summary>
        /// 发布人
        /// </summary>
        [StringLength(100)]
        public string? Publisher { get; set; }

        /// <summary>
        /// 目标用户组
        /// </summary>
        [StringLength(200)]
        public string? TargetUserGroup { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [StringLength(500)]
        public string? Remarks { get; set; }
    }
}